#ifndef GTKWIDGETLIST_H_
#define GTKWIDGETLIST_H_

typedef struct structGtkWidgetList {
	GtkWidget *gtkWidget;
	struct structGtkWidgetList *next;
} GtkWidgetList;

typedef struct structGWL {
	int length;
	GtkWidgetList *gtkWidgetList;
} GWL;

GtkWidgetList* gtkWidgetListInit(void);
GtkWidgetList* gtkWidgetListMakeNode(void);
void gtkWidgetListFreeNode(GtkWidgetList**);
void insertGtkWidgetListNode(GtkWidgetList**, GtkWidgetList*, int);
void removeGtkWidgetListNode(GtkWidgetList**, int);
GtkWidgetList* getGtkWidgetListNode(GtkWidgetList*, int);
void setGtkWidgetListNode(GtkWidgetList*, GtkWidgetList*, int);
void gtkWidgetListPrint(GtkWidgetList*);

#ifndef GTK_WIDGET_LIST_NULL
#	define GTK_WIDGET_LIST_NULL 0
#endif

#endif /*GTKWIDGETLIST_H_*/
